/h
---
Send website page.

/h
Line 1
Line 2
Line 3

/f
---
Failed to load website page.

Notifies client that pageload failed.

/g
---
Get website page.

/g http://www.site.com/page.ext

Server responds with /h

/e
---
End GM chat session

/i
---
Open GM chat session

/m
---
?

/b
---
The client sends this to request contacts.

The server sends:

/b
1 "Player Name of Player Shard" <###@messenger.owo.com>
2 "Player Name of Player Shard" <###@messenger.owo.com>

I'm not sure what the leading number is...possibly the account number for that contact.
### is the contact's account number.

/o
---
/o #

Where # is message id; client sends this to delete messages

/p
---
Processing?
Makes client request messages with /s.

/s
---

/s
001
To: <###@messenger.owo.com> "Player Name of Shard Name" (description)
From: <###@messenger.oo.com> "Player Name of Shard Name" (description)
Subject: Some text here
Date: Tues Mar 9 12:00:00 2010 CST
Read: 
002
To: <###@messenger.owo.com> "Player Name of Shard Name" (description)
From: <###@messenger.oo.com> "Player Name of Shard Name" (description)
Subject: Some text here
Date: Fri Mar 12 12:00:00 2010 CST

etc...

The client will send just "/s" when requesting messages.
I'm not sure if Read has arguments...maybe a date?  Either way, the client doesn't seem to care.
If "Read:" is not included, it shows as a new message (and client gets a sysmessage)
001, 002, etc. are the message numbers; they should have these leading zeroes.

This loops for as many messages as there are.

/r
---
client sends this to open a message

"/r #" where # is the message id

The server should respond with:

/r
001
To: <###@messenger.owo.com> "Player Name of Shard Name" (description)
From: <###@messenger.oo.com> "Player Name of Shard Name" (description)
Date: Tues Mar 9 12:00:00 2010 CST
Subject: Some text here

Message body goes here.
<BQ>This shows in green text</BQ>
Here's another line in the body.

/j
---
"/j x y"

X is the message number.
Presumably, y=1 means the message has been cached, y=0 means not?

client sends this after opening a message that's already been viewed.

/y
---
The client sends this after closing the messenger gump.

/p
---
Server sends this and client responds with /s

/q
---
The client sends this to give someone his/her greeting card.

/q "Unknown"<###@messenger.owo.com> "Sending Player's Name"<###@messenger.owo.com>

Where the first ### is the sending contact's account number and the second is the sending player's number.

If the contact's number is unknown, the client will use its own account number.

/k
---
char[] message

This sends a system message that is displayed in orange.

/x
---
Send message from client to server; also used for forwarding.

/x
To: <###@messenger.owo.com> "Player Name of Shard Name" (description)
From: <###@messenger.oo.com> "Player Name of Shard Name" (description)
Subject: Some text here

Message body goes here.
<BQ>This shows in green text</BQ>
Here's another line in the body.


/a
---
The client sends this to edit the description of a contact.

/a <###messenger.owo.com> <###messenger.owo.com> "PlayerName" (description)

Where the first ### is the sending player's account number and the second is the contact's number.
PlayerName is the contact's name; yes, this should be in quotes.

/v
---
The client sends this to delete a contact.

/v <###@messenger.owo.com> "PlayerName" (description)

Where ### is the contact's account number.
PlayerName is the contact's name; yes, this should be in quotes.

ECHO
----
Client sends this after closing webpage.

ECHO: leaving

/d
---
Sent by client

OWO.EXE Parameters:
-------------------

-U:###@messenger.owo.com
where ### is the account number, obtained from the 0xBB - Account ID packet

-P:xxx
where xxx is the account password

-O:5300
The port on which the messenger service should listen.

-D:8818
maybe main server port #?

-H:
Specifies main server address

-L:[enu, deu, fra, kor]
Specifies client language